USE DB_MZ
GO

SELECT * FROM TABLA_PRUEBA
GO

SELECT * FROM DETALLE_SOCIOS
GO

INSERT INTO TABLA_PRUEBA
SELECT (SELECT MAX(ID_SOCIO) FROM TABLA_PRUEBA) + 1, PRIMER_NOMBRE, PRIMER_APELLIDO, FECHA_NACIMIENTO, DIRECCION, CIUDAD, ESTADO, CORREO, FECHA_INGRESO, TELEFONO, DUI FROM DETALLE_SOCIOS WHERE ID_SOCIO = 1
GO

SELECT PRIMER_NOMBRE, PRIMER_APELLIDO, CORREO, FECHA_INGRESO FROM TABLA_PRUEBA
UNION
SELECT PRIMER_NOMBRE, PRIMER_APELLIDO, CORREO, FECHA_INGRESO FROM DETALLE_SOCIOS
GO

SELECT PRIMER_NOMBRE, PRIMER_APELLIDO, CORREO, FECHA_INGRESO FROM TABLA_PRUEBA
UNION ALL
SELECT PRIMER_NOMBRE, PRIMER_APELLIDO, CORREO, FECHA_INGRESO FROM DETALLE_SOCIOS
GO

SET DATEFORMAT YMD
SELECT PRIMER_NOMBRE, PRIMER_APELLIDO, CORREO, FECHA_NACIMIENTO FROM TABLA_PRUEBA
EXCEPT
SELECT PRIMER_NOMBRE, PRIMER_APELLIDO, CORREO, FECHA_NACIMIENTO FROM TABLA_PRUEBA WHERE FECHA_NACIMIENTO BETWEEN '1986-01-01' AND '2004-01-01'
GO

SELECT PRIMER_NOMBRE, PRIMER_APELLIDO, CORREO, FECHA_NACIMIENTO FROM TABLA_PRUEBA WHERE FECHA_NACIMIENTO < '1986-01-01' OR FECHA_NACIMIENTO > '2004-01-01'
GO

SELECT PRIMER_NOMBRE, FECHA_INGRESO FROM TABLA_PRUEBA
INTERSECT
SELECT PRIMER_NOMBRE, FECHA_INGRESO FROM DETALLE_SOCIOS
GO

SELECT FECHA_NACIMIENTO FROM TABLA_PRUEBA
INTERSECT
SELECT FECHA_NACIMIENTO FROM DETALLE_SOCIOS
GO

----------------------------------------------------------------------------------------------------------------------------------------------------------------

DECLARE @SQL1 NVARCHAR(1000)
SET @SQL1 = 'SELECT PRIMER_NOMBRE, PRIMER_APELLIDO FROM DETALLE_SOCIOS'
EXEC (@SQL1)

DECLARE @SQL2 NVARCHAR(500)
SET @SQL2 = 'CREATE TABLE #DET_SOC (ID INT, PNOMBRE VARCHAR(30), PAPELLIDO VARCHAR(30));'
SET @SQL2 = @SQL2 + 'INSERT INTO #DET_SOC SELECT ID_SOCIO, PRIMER_NOMBRE, PRIMER_APELLIDO FROM DETALLE_SOCIOS WHERE ID_SOCIO IN (1, 2);'
SET @SQL2 = @SQL2 + 'SELECT * FROM #DET_SOC;'
SET @SQL2 = @SQL2 + 'DROP TABLE #DET_SOC;'
EXEC (@SQL2)

DECLARE @SQL3 NVARCHAR(1000)
SET @SQL3 = 'SELECT PRIMER_NOMBRE, PRIMER_APELLIDO FROM DETALLE_SOCIOS'
EXEC SP_EXECUTESQL @SQL3

DECLARE @SQL4 NVARCHAR(500)
DECLARE @PARAMETROS NVARCHAR(200)
SET @PARAMETROS = '@FECHA_INGRESO DATETIME, @CIUDAD VARCHAR(50)'
DECLARE @FECHA DATETIME
SET @FECHA = '2005-01-01'
DECLARE @C VARCHAR(50)
SET @C = 'SAN SALVADOR'
SET @SQL4 = 'SELECT * FROM DETALLE_SOCIOS WHERE (FECHA_INGRESO > @FECHA_INGRESO) OR (CIUDAD = @CIUDAD)'
EXEC SP_EXECUTESQL @SQL4, @PARAMETROS, @CIUDAD = @C, @FECHA_INGRESO = @FECHA
